import { customRef } from "vue"

export default function(initValue:string,delay:number){
  let timeID:number
	// track(跟踪),trigger(触发)
	let msg = customRef((track,trigger)=>{
		return {
			// msg被读取时调用
			get(){
				track()   //告诉vue数据msg很重要，要对msg持续关注，一旦msg改变，立刻更新
				return initValue
			},
			// msg被修改时调用
			set(value){
				clearTimeout(timeID)
				timeID = setTimeout(()=>{
					trigger()   //通知vue，数据msg变化了
					initValue = value
				},delay)
				
			}
		}
	})
  return msg
}
